home *** CD-ROM | disk | FTP | other *** search
/ Quick PC 61 / Quick PC 61.iso / I386 / SASETUP.MSI / F77555_sh_fileupload.asp < prev    next >
Encoding:
Text File  |  2003-02-21  |  7.5 KB  |  272 lines

  1. <%@ Language=VBScript %>
  2. <% Option Explicit %>
  3. <% Response.Buffer = TRUE %>
  4. <%    '-------------------------------------------------------------------------
  5.     ' File Upload Template Example code
  6.     ' Copyright (c) Microsoft Corporation.  All rights reserved.
  7.     '--------------------------------------------------------------- 
  8. %>
  9. <!-- #include file="inc_base.asp" -->
  10. <%
  11.     Dim bIsPost
  12.     Dim F_FileName
  13.     
  14.     Server.ScriptTimeout = 3600
  15.  
  16.     bIsPost = CInt(Request.QueryString("IsPost"))
  17.     If bIsPost Then
  18.         '
  19.         ' Perform file post processing. 
  20.         '
  21.         OnPostFile()
  22.         
  23.     Else
  24.         '
  25.         ' Perform first time processing. File is not being posted
  26.         ' during first time processing. 
  27.         '
  28.         OnFirstTime()
  29.         
  30.     End If
  31.  
  32.  
  33. Function OnFirstTime()
  34.  
  35.     WriteLine("<HTML>")
  36.     WriteLine("<SCRIPT language='JavaScript'>")
  37.     WriteLine("function Init()")
  38.     WriteLine("{")
  39.     WriteLine("    setTimeout('DelayedInit()', 2000);")
  40.     WriteLine("}")
  41.         
  42.     WriteLine("function DelayedInit()")
  43.     WriteLine("{")
  44.     WriteLine("    //alert('Entering Init()');")
  45.     WriteLine("    parent.DisableNext();")
  46.     WriteLine("}")
  47.     
  48.     WriteLine("function SA_GetUploadedFileName()")
  49.     WriteLine("{")
  50.     WriteLine("    return '';")
  51.     WriteLine("}")
  52.         
  53.     WriteLine("function SA_GetFullyQualifiedUploadFileName()")
  54.     WriteLine("{")
  55.     WriteLine("    return '';")
  56.     WriteLine("}")
  57.  
  58.     WriteLine("function CheckFile()")
  59.     WriteLine("{")
  60.     WriteLine("    var file;")
  61.     WriteLine("    file = document.formUploadFile.fileSoftwareUpdate.value;")
  62.     WriteLine("    if ( file.length <= 0 )")
  63.     WriteLine("    {")
  64.     WriteLine("        parent.DisableNext();")
  65.     WriteLine("        parent.DisplayErr('Please select a file.');")
  66.     WriteLine("        return false;")
  67.     WriteLine("    }")
  68.     WriteLine("    else")
  69.     WriteLine("    {")
  70.     WriteLine("        parent.DisableNext();")
  71.     WriteLine("        document.formUploadFile.frmSubmit.disabled = true;")
  72.     WriteLine("        //parent.StartAnimation();")
  73.     WriteLine("        return true;")
  74.     WriteLine("    }")
  75.     WriteLine("}")
  76.     
  77.     WriteLine("</SCRIPT>")
  78.     WriteLine("<BODY onLoad='Init();'>")
  79.     
  80.     Call EmitFileSelectionForm()
  81.     
  82.     WriteLine("</BODY>")
  83.     WriteLine("</HTML>")
  84. End Function
  85.  
  86.  
  87.  
  88. Function OnPostFile()    
  89.     Dim sFileName
  90.     Dim sUploadPath
  91.     Dim iFileSize
  92.  
  93.     WriteLine("<HTML>")
  94.     WriteLine("<SCRIPT language='JavaScript'>")
  95.     WriteLine("function SA_GetUploadedFileName()")
  96.     WriteLine("{")
  97.     WriteLine("    return document.frmFileUpload.txtFileName.value;")
  98.     WriteLine("}")
  99.     
  100.     WriteLine("function SA_GetFullyQualifiedUploadFileName()")
  101.     WriteLine("{")
  102.     WriteLine("    return document.frmFileUpload.txtFullyQualifiedFileName.value;")
  103.     WriteLine("}")
  104.  
  105.     WriteLine("function Init()")
  106.     WriteLine("{")
  107.     WriteLine("    //parent.StopAnimation();")
  108.     WriteLine("    if ( document.frmFileUpload.txtFileName.value != '' )")
  109.     WriteLine("    {")
  110.     WriteLine("        parent.EnableNext();")
  111.     WriteLine("        document.formUploadFile.frmSubmit.disabled = true;")
  112.     WriteLine("    }")
  113.     WriteLine("    else")
  114.     WriteLine("    {")
  115.     WriteLine("        parent.DisableNext();")
  116.     WriteLine("        document.formUploadFile.frmSubmit.disabled = false;")
  117.     WriteLine("    }")
  118.     WriteLine("}")
  119.     
  120.     WriteLine("function CheckFile()")
  121.     WriteLine("{")
  122.     WriteLine("    var file;")
  123.     WriteLine("    file = document.frmFileUpload.txtFileName.value;")
  124.     WriteLine("    if ( file.length <= 0 )")
  125.     WriteLine("    {")
  126.     WriteLine("        parent.DisableNext();")
  127.     WriteLine("        parent.DisplayErr('Please select a file.');")
  128.     WriteLine("        return false;")
  129.     WriteLine("    }")
  130.     WriteLine("    else")
  131.     WriteLine("    {")
  132.     WriteLine("        parent.DisableNext();")
  133.     WriteLine("        document.formUploadFile.frmSubmit.disabled = true;")
  134.     WriteLine("        //parent.StartAnimation();")
  135.     WriteLine("        return true;")
  136.     WriteLine("    }")
  137.     WriteLine("}")
  138.     
  139.     WriteLine("</SCRIPT>")
  140.     WriteLine("<BODY onLoad='Init();' >")
  141.  
  142.     
  143.     Call EmitFileSelectionForm()
  144.     
  145.     WriteLine("<BR>")
  146.     
  147.     If ( Post_UploadFile(sFileName, iFileSize) ) Then
  148.         
  149.         sUploadPath = Post_GetUploadPath()
  150.         WriteLine("<table width=100% class='TasksBody'>")
  151.         WriteLine("<tr>")
  152.         WriteLine("<td>")
  153.         WriteLine("You selected file: "+ Server.HTMLEncode(sUploadPath + sFileName))
  154.         WriteLine("</td>")
  155.         WriteLine("</tr>")
  156.         WriteLine("</table>")
  157.     Else
  158.         sFileName = ""
  159.  
  160.     End If
  161.     
  162.     WriteLine("<FORM name=frmFileUpload>")
  163.     WriteLine("<INPUT type=hidden name=txtFullyQualifiedFileName value='"+CStr(sUploadPath + sFileName) + "' >" )
  164.     WriteLine("<INPUT type=hidden name=txtFileName value='"+CStr(sFileName) + "' >" )
  165.     WriteLine("<INPUT type=hidden name=txtFileSize value='"+CStr(iFileSize) + "' >" )
  166.     WriteLine("</FORM>")
  167.  
  168.     WriteLine("</BODY>")
  169.     WriteLine("</HTML>")
  170. End Function
  171.  
  172.  
  173. Function Post_UploadFile(ByRef sFileName, ByRef iFileSize)
  174.     Post_UploadFile = TRUE
  175.     
  176.     Err.Clear
  177.     On Error Resume Next
  178.     Dim oFileUpload
  179.  
  180.     
  181.     Set oFileUpload = Server.CreateObject("Microsoft.FileUpload")
  182.     If ( Err.Number <> 0 ) Then
  183.         Post_UploadFile = FALSE
  184.         Set oFileUpload = nothing
  185.         SA_TraceOut "TEMPLATE_FILE_POST", "Error posting file: " + CStr(Hex(Err.Number))
  186.         WriteLine("<DIV class=ErrMsg>")
  187.         WriteLine("File upload did not complete, unexpected error during upload.")
  188.         WriteLine("<BR>")
  189.         WriteLine("Error code: " + CStr(Hex(Err.Number)) + " " + CStr(Err.Description))
  190.         WriteLine("</DIV>")
  191.         Exit Function
  192.     End If
  193.  
  194.  
  195.     sFileName = oFileUpload.FileName
  196.     If ( Err.Number <> 0 ) Then
  197.         Post_UploadFile = FALSE
  198.         Set oFileUpload = nothing
  199.         SA_TraceOut "TEMPLATE_FILE_POST", "Unexpected error getting filename, error: " + CStr(Hex(Err.Number))
  200.         WriteLine("<DIV class=ErrMsg>")
  201.         WriteLine("File upload did not complete, unable to query file name.")
  202.         WriteLine("<BR>")
  203.         WriteLine("Error code: " + CStr(Hex(Err.Number)) + " " + CStr(Err.Description))
  204.         WriteLine("</DIV>")
  205.         Exit Function
  206.     End If
  207.     
  208.     iFileSize = oFileUpload.FileSize
  209.     If ( Err.Number <> 0 ) Then
  210.         Post_UploadFile = FALSE
  211.         Set oFileUpload = nothing
  212.         SA_TraceOut "TEMPLATE_FILE_POST", "Unexpected error getting file size, error: " + CStr(Hex(Err.Number))
  213.         WriteLine("<DIV class=ErrMsg>")
  214.         WriteLine("File upload did not complete, unable to query file size.")
  215.         WriteLine("<BR>")
  216.         WriteLine("Error code: " + CStr(Hex(Err.Number)) + " " + CStr(Err.Description))
  217.         WriteLine("</DIV>")
  218.         Exit Function
  219.     End If
  220.     
  221.     Set oFileUpload = nothing
  222.     
  223. End Function
  224.  
  225.  
  226. Function EmitFileSelectionForm()
  227.  
  228.     WriteLine("<FORM  enctype='multipart/form-data'")
  229.     WriteLine("            onSubmit='return CheckFile();'")
  230.     WriteLine("            method=post")
  231.     WriteLine("            id=formUploadFile")
  232.     WriteLine("            name=formUploadFile")
  233.     WriteLine("            target=_self")
  234.     WriteLine("            action='sh_fileupload.asp?IsPost=1' >")
  235.     WriteLine("<input type='file' name=fileSoftwareUpdate id=fileSoftwareUpdate value='"+F_FileName+"' >")
  236.     WriteLine("<input type='submit' name=frmSubmit id=frmSubmit value='Select'>")
  237.     WriteLine("<input type='hidden' name=TargetURL value='Submit'>")
  238.     WriteLine("<input type='hidden' name=ReturnURL value='Submit'>")
  239.     WriteLine("</form>")
  240.  
  241. End Function
  242.  
  243.  
  244. Function Post_GetUploadPath()
  245.     on error resume next
  246.     Dim objRegistry
  247.  
  248.     Set objRegistry = RegConnection()
  249.     Post_GetUploadPath = GetRegKeyValue( objRegistry, _
  250.                         "SOFTWARE\Microsoft\ServerAppliance\SoftwareUpdate", _ 
  251.                         "UploadFileDirectory", _
  252.                         CONST_STRING )
  253.  
  254.     If ( Len(Trim(Post_GetUploadPath)) <= 0 ) Then
  255.         SA_TraceOut "SW_UPDATE", "UploadFileDirectory registry entry missing"
  256.         Post_GetUploadPath = "Z:\OS_DATA\Software Update"
  257.     End If
  258.  
  259.     if ( Right(Post_GetUploadPath,1) <> "\") Then
  260.         Post_GetUploadPath = Post_GetUploadPath + "\"
  261.     End If
  262.  
  263.     Set objRegistry = nothing
  264. End Function
  265.  
  266.  
  267. Function WriteLine(ByVal sLine)
  268.     Response.Write(sLine+vbCrLf)
  269. End Function
  270.  
  271. %>
  272.